<?php 
namespace Common\Model;
use Hdphp\Model\Model;
	class User extends Model{
		protected $table='user';
		protected $validate=array(
			array('username','required','用户名不能为空',3,3)
		
		);
		
		public function login(){
//			调用方法就必须有protected $validate
			if(!$this->create()) return FALSE;
//			获取用户名  密码
			$username=$_POST['username'];
			$password=$_POST['password'];
//			判定用户是否存在
//			find(),截取一条
//			"select * from user where username={$username}";
			$userData=$this->where("username",$username)->find();
			if(!$userData){
				$this->error="用户名不存在";
				return FALSE;
			}
		
//			post需要加密密码
			$password=$this->encrypt($username,$password);
//			p($password);die;
//			验证密码
			if($password!=$userData['password']){
			$this->error="密码不正确";
				return FALSE;
			
			}
//			登录成功后写入sossion
			$_SESSION['id']=$userData['uid'];
//			var_dump($_SESSION['id']);die;
//			跳转回主页
			return TRUE;
		
		}
		
//		加密
		public function encrypt($username,$password){
//			将用户的用户名和密码链接上一个加密串，在md5；
			return md5(md5($username).md5($password).'houdunwang');
		}
		
//		登录修改密码		
		public function changePass(){
			
//			在方法中将自动验证的成员属性重定义
//			required 不能为空
			$this->validate=array(
				array('password','required','原密码不能为空',3,3),
				array('newPassword','required','新密码不能为空',3,3),
				array('confirmPassword','required','重复新密码不能为空',3,3),
				array('newPassword','confirm:confirmPassword','两次密码不一致',3,3),
			);
			
			if(!$this->create()) return FALSE;
//			获取用户数据
			$userData=$this->where('uid',$_SESSION['id'])->find();
//			返回数据
			$username=$userData['username'];
			$password=$_POST['password'];
//			获取密码
			$password=$this->encrypt($username,$password);
//			p($password);die;
//			原密码对比
			if($password!=$userData['password']){
				$this->error="原密码不正确";
				return FALSE;
			}
			
//			写入新密码
			$newPass=$_POST['newPassword'];
			$newPass=$this->encrypt($username, $newPass);
			$result=$this->where('uid',$_SESSION['id'])->update(array('password'=>$newPass));
			if(!$result){
				$this->error="修改失败";
				return FALSE;
			}
//			清除session
			session_unset();
			session_destroy();
			return TRUE;
		}
		
		
		
	}



 ?>